home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Mac Game Programming Gurus / TricksOfTheMacGameProgrammingGurus.iso / CodeWarrior Lite / Metrowerks C⁄C++ Lite / Headers / System Extras Headers / AOCE Headers / OCEStandardDirectory.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-04-20  |  20.4 KB  |  624 lines  |  [TEXT/MMCC]

  1. /*
  2.     File:        OCEStandardDirectory.h
  3.  
  4.     Copyright:    © 1984-1993 by Apple Computer, Inc., all rights reserved.
  5.  
  6.     WARNING
  7.     This file was auto generated by the interfacer tool. Modifications
  8.     must be made to the master file.
  9.  
  10. */
  11.  
  12. #ifndef __OCESTANDARDDIRECTORY__
  13. #define __OCESTANDARDDIRECTORY__
  14.  
  15. #ifndef REZ
  16. #ifndef    __OCE__
  17. #include "OCE.h"
  18. /*    #include <Aliases.h>                                        */
  19. /*        #include <Types.h>                                        */
  20. /*            #include <ConditionalMacros.h>                        */
  21. /*            #include <MixedMode.h>                                */
  22. /*                #include <Traps.h>                                */
  23. /*        #include <AppleTalk.h>                                    */
  24. /*            #include <OSUtils.h>                                */
  25. /*        #include <Files.h>                                        */
  26. /*            #include <SegLoad.h>                                */
  27. /*    #include <AppleEvents.h>                                    */
  28. /*        #include <Memory.h>                                        */
  29. /*        #include <Events.h>                                        */
  30. /*            #include <Quickdraw.h>                                */
  31. /*                #include <QuickdrawText.h>                        */
  32. /*                    #include <IntlResources.h>                    */
  33. /*        #include <EPPC.h>                                        */
  34. /*            #include <PPCToolBox.h>                                */
  35. /*            #include <Processes.h>                                */
  36. /*        #include <Notification.h>                                */
  37. /*    #include <Script.h>                                            */
  38. #endif
  39.  
  40. #ifndef __OCEAUTHDIR__
  41. #include "OCEAuthDir.h"
  42. #endif
  43.  
  44. #ifndef __TYPES__
  45. #endif
  46.  
  47. #ifndef __WINDOWS__
  48. #include <Windows.h>
  49. /*    #include <Controls.h>                                        */
  50. /*        #include <Menus.h>                                        */
  51. #endif
  52.  
  53. #ifndef __ICONS__
  54. #include <Icons.h>
  55. #endif
  56.  
  57. /* Macros used for generating Inline Code. */
  58.  
  59. #ifndef __SDPPanel
  60. #define __SDPPanel(count, selector) = { 0x203C,count,selector, 0xAA5D}
  61.  
  62. #endif
  63.  
  64. #ifndef __SDPPrompt
  65. #define __SDPPrompt(count, selector) = { 0x203C,count,selector, 0xAA5D}
  66.  
  67. #endif
  68.  
  69. #ifndef __FindPanel
  70. #define __FindPanel(count, selector) = { 0x203C,count,selector, 0xAA5D}
  71.  
  72. #endif
  73.  
  74. #ifndef __SDPUtils
  75. #define __SDPUtils(selector) = { 0x303C, selector, 0xAA5C}
  76.  
  77. #endif
  78.  
  79. #ifndef __SDPAlias
  80. #define __SDPAlias(count, selector) = { 0x203C,count,selector, 0xAA5D}
  81.  
  82. #endif
  83.  
  84. #ifndef __SDPPDUtils
  85. #define __SDPPDUtils(count, selector) = {0x203c,count,selector,0xAA5D}
  86.  
  87. #endif
  88.  
  89. /* CollabPack Trap Selectors */
  90.  
  91. #define kSDPNewPanel 100
  92. #define kSDPGetNewPanel 101
  93. #define kSDPDisposePanel 102
  94. #define kSDPHidePanel 103
  95. #define kSDPShowPanel 104
  96. #define kSDPEnablePanel 105
  97. #define kSDPUpdatePanel 106
  98. #define kSDPMovePanel 107
  99. #define kSDPSizePanel 108
  100. #define kSDPOpenSelectedItem 109
  101. #define kSDPGetPanelSelectionState 110
  102. #define kSDPGetPanelSelection 111
  103. #define kSDPSetPath 112
  104. #define kSDPPanelEvent 113
  105. #define kSDPGetPanelSelectionSize 114
  106. #define kSDPSetIdentity 115
  107. #define kSDPSelectString 116
  108. #define kSDPGetPathLength 117
  109. #define kSDPGetPath 118
  110. #define kSDPSetFocus 119
  111. #define kSDPSetPanelBalloonHelp 120
  112. #define kSDPInstallPanelBusyProc 121
  113.  
  114. #define kSDPPromptForID 904
  115.  
  116. #define kSDPNewFindPanel 2300
  117. #define kSDPDisposeFindPanel 2301
  118. #define kSDPStartFind 2302
  119. #define kSDPStopFind 2303
  120. #define kSDPFindPanelEvent 2304
  121. #define kSDPDrawFindPanel 2305
  122. #define kSDPShowFindPanel 2306
  123. #define kSDPHideFindPanel 2307
  124. #define kSDPMoveFindPanel 2308
  125. #define kSDPEnableFindPanel 2309
  126. #define kSDPSetFindPanelFocus 2310
  127. #define kSDPGetFindPanelState 2311
  128. #define kSDPGetFindPanelSelectionSize 2312
  129. #define kSDPGetFindPanelSelection 2313
  130. #define kSDPSetFindPanelBalloonHelp 2314
  131. #define kSDPSetFindIdentity 2315
  132. #define kSDPInstallFindPanelBusyProc 2316
  133.  
  134. #define kSDPGetIconByType 1024
  135. #define kSDPGetDSSpecIcon 1025
  136. #define kSDPGetCategories 1026
  137. #define kSDPGetCategoryTypes 1027
  138.  
  139. #define kSDPResolveAliasFile 3700
  140. #define kSDPResolveAliasDSSpec 3701
  141.  
  142. #define kSDPRepairPersonalDirectory 6700
  143.  
  144. /* Collaboration Package Gestalts. */
  145.  
  146. #define gestaltSDPStandardDirectoryVersion 'sdvr'
  147. #define gestaltSDPFindVersion 'dfnd'
  148. #define gestaltSDPPromptVersion 'prpv'
  149.  
  150. #endif
  151.  
  152. /* generic icon suites */
  153.  
  154. #define genericDirectoryIconResource -16721
  155. #define genericLockedDirectoryIconResource -16716
  156. #define genericRecordIconResource -16722
  157. #define genericAttributeIconResource -16723
  158. #define genericTemplateIconResource -16746
  159.  
  160.  
  161. /* standard icon suites */
  162.  
  163. #define directoryFolderIconResource -16720
  164. #define lockedDirectoryFolderIconResource -16719
  165. #define personalDirectoryIconResource -16718
  166. #define directoriesIconResource -16717
  167. #define preferredPersonalDirectoryIconResource -16724
  168.  
  169. /* icon IDs for spinning arrows */
  170. #define kFirstSpinnerIcon -16745
  171. #define kLastSpinnerIcon -16738
  172.  
  173.  
  174. /* resource types */
  175. #define kSDPPanelResourceType 'panl'
  176. #define kSDPFindPanelResourceType 'find'
  177.  
  178. /* Standard FindPanel resource */
  179. #define kStandardFindLayout -16700
  180.  
  181. #ifndef REZ
  182. /* Prompt For Identity structures */
  183.  
  184. enum  {
  185.     kSDPGuestBit,
  186.     kSDPSpecificIdentityBit,
  187.     kSDPLocalIdentityBit
  188. };
  189.  
  190. /* Values of SDPIdentityKind */
  191. enum  {
  192.     kSDPGuestMask                = 1 << kSDPGuestBit,
  193.     kSDPSpecificIdentityMask    = 1 << kSDPSpecificIdentityBit,
  194.     kSDPLocalIdentityMask        = 1 << kSDPLocalIdentityBit
  195. };
  196.  
  197. typedef unsigned short SDPIdentityKind;
  198.  
  199. enum  {
  200.     kSDPSuggestionOnly,
  201.     kSDPRestrictToDirectory,
  202.     kSDPRestrictToRecord
  203. };
  204.  
  205. typedef unsigned short SDPLoginFilterKind;
  206.  
  207. /* Panel Structures */
  208.  
  209. /*
  210. While the panel is in operation, four selection states may exist.
  211.     1) kSDPNothingSelected means nothing is selected.
  212.     2) kContainSelected means a volume, folder, catalog, dnode, or PAB is selected.
  213.     3) kSDPLockedContainerSelected means one of the above, but no access privledges.
  214.     4) kSDPRecordSelected means that a record is currently selected.
  215. */
  216.  
  217. /* Values of SDPSelectionState */
  218. enum  {
  219.     kSDPNothingSelected,
  220.     kSDPLockedContainerSelected,
  221.     kSDPContainerSelected,
  222.     kSDPRecordSelected,
  223.     kSDPRecordAliasSelected,
  224.     kSDPContainerAliasSelected
  225. };
  226.  
  227. typedef unsigned short SDPSelectionState;
  228.  
  229. /*
  230. This type informs the caller of the action the user took, either as the result
  231. of an event (as returned by SDPPanelEvent) or when SDPOpenSelectedItem is called.
  232.  
  233. kSDPProcessed means that the event (or call to SDPOpenSelectedItem) resulted in no
  234. state change.
  235.  
  236. kSDPSelectedAnItem indicates that the user wants to select the currently-hilited
  237. record. This is returned, for example, when a user double-clicks on a record.
  238.  
  239. kSDPChangedSelection implies that the user clicked on a new item (which may mean
  240. that no item is selected).
  241. */
  242.  
  243. /* Values of SDPPanelState */
  244. enum  {
  245.     kSDPProcessed,
  246.     kSDPSelectedAnItem,
  247.     kSDPChangedSelection
  248. };
  249.  
  250. typedef unsigned short SDPPanelState;
  251.  
  252. /*
  253. Your application may read any of the fields in a SDPPanelRecord, but it should
  254. use the appropriate routines to make changes to the records with the exception
  255. of the refCon field which your application may read or write at will.  Private
  256. information follows the SDPPanelRecord, so the handle must not be re-sized.
  257. */
  258.  
  259. #if defined(powerc) || defined (__powerc)
  260. #pragma options align=mac68k
  261. #endif
  262. struct SDPPanelRecord {
  263.     Rect                        bounds;
  264.     Boolean                        visible;
  265.     Boolean                        enabled;
  266.     Boolean                        focused;
  267.     Byte                        padByte;
  268.     AuthIdentity                identity;
  269.     long                        refCon;
  270.     Rect                        listRect;
  271.     Rect                        popupRect;
  272.     short                        numberOfRows;
  273.     short                        rowHeight;
  274.     Boolean                        pabMode;
  275. };
  276. #if defined(powerc) || defined(__powerc)
  277. #pragma options align=reset
  278. #endif
  279.  
  280. typedef struct SDPPanelRecord SDPPanelRecord;
  281.  
  282. typedef SDPPanelRecord *SDPPanelPtr, **SDPPanelHandle;
  283.  
  284. typedef pascal void (*PanelBusyProcPtr)(SDPPanelHandle Panel, Boolean busy);
  285.  
  286. enum {
  287.     uppPanelBusyProcInfo = kPascalStackBased
  288.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(SDPPanelHandle)))
  289.          | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(Boolean)))
  290. };
  291.  
  292. #if USESROUTINEDESCRIPTORS
  293. typedef UniversalProcPtr PanelBusyUPP;
  294.  
  295. #define CallPanelBusyProc(userRoutine, Panel, busy)        \
  296.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppPanelBusyProcInfo, (Panel), (busy))
  297. #define NewPanelBusyProc(userRoutine)        \
  298.         (PanelBusyUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppPanelBusyProcInfo, GetCurrentISA())
  299. #else
  300. typedef PanelBusyProcPtr PanelBusyUPP;
  301.  
  302. #define CallPanelBusyProc(userRoutine, Panel, busy)        \
  303.         (*(userRoutine))((Panel), (busy))
  304. #define NewPanelBusyProc(userRoutine)        \
  305.         (PanelBusyUPP)(userRoutine)
  306. #endif
  307.  
  308. typedef PanelBusyUPP PanelBusyProc;
  309.  
  310. /* Find Panel Structures */
  311. enum  {
  312.     kSDPItemIsSelectedBit,
  313.     kSDPFindTextExistsBit
  314. };
  315.  
  316. /* Values of SDPFindPanelState */
  317. enum  {
  318.     kSDPItemIsSelectedMask        = 1 << kSDPItemIsSelectedBit,
  319.     kSDPFindTextExistsMask        = 1 << kSDPFindTextExistsBit
  320. };
  321.  
  322. typedef unsigned short SDPFindPanelState;
  323.  
  324. /* Values of SDPFindPanelFocus */
  325. enum  {
  326.     kSDPFindPanelNoFocus,
  327.     kSDPFindPanelListHasFocus,
  328.     kSDPFindPanelTextHasFocus
  329. };
  330.  
  331. typedef unsigned short SDPFindPanelFocus;
  332.  
  333. #if defined(powerc) || defined (__powerc)
  334. #pragma options align=mac68k
  335. #endif
  336. struct SDPFindPanelRecord {
  337.     Point                        upperLeft;
  338.     Boolean                        visible;
  339.     Boolean                        enabled;
  340.     Boolean                        nowFinding;
  341.     Byte                        padByte;
  342.     SDPFindPanelFocus            currentFocus;
  343.     AuthIdentity                identity;
  344.     short                        simultaneousSearchCount;
  345.     long                        refCon;
  346. };
  347. #if defined(powerc) || defined(__powerc)
  348. #pragma options align=reset
  349. #endif
  350.  
  351. typedef struct SDPFindPanelRecord SDPFindPanelRecord;
  352.  
  353. typedef SDPFindPanelRecord *SDPFindPanelPtr, **SDPFindPanelHandle;
  354.  
  355. /* Values of SDPFindPanelResult */
  356. enum  {
  357.     kSDPSelectedAFindItem,
  358.     kSDPFindSelectionChanged,
  359.     kSDPFindCompleted,
  360.     kSDPTextStateChanged,
  361.     kSDPFocusChanged,
  362.     kSDPSelectionAndFocusChanged,
  363.     kSDPMenuChanged,
  364.     kSDPSelectionAndMenuChanged,
  365.     kSDPProcessedFind
  366. };
  367.  
  368. typedef unsigned short SDPFindPanelResult;
  369.  
  370. typedef PackedPathNamePtr *PackedRStringListHandle;
  371.  
  372. typedef PackedDSSpec **PackedDSSpecHandle;
  373.  
  374. typedef pascal void (*FindPanelBusyProcPtr)(SDPFindPanelHandle findPanel, Boolean busy);
  375.  
  376. enum {
  377.     uppFindPanelBusyProcInfo = kPascalStackBased
  378.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(SDPFindPanelHandle)))
  379.          | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(Boolean)))
  380. };
  381.  
  382. #if USESROUTINEDESCRIPTORS
  383. typedef UniversalProcPtr FindPanelBusyUPP;
  384.  
  385. #define CallFindPanelBusyProc(userRoutine, findPanel, busy)        \
  386.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppFindPanelBusyProcInfo, (findPanel), (busy))
  387. #define NewFindPanelBusyProc(userRoutine)        \
  388.         (FindPanelBusyUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppFindPanelBusyProcInfo, GetCurrentISA())
  389. #else
  390. typedef FindPanelBusyProcPtr FindPanelBusyUPP;
  391.  
  392. #define CallFindPanelBusyProc(userRoutine, findPanel, busy)        \
  393.         (*(userRoutine))((findPanel), (busy))
  394. #define NewFindPanelBusyProc(userRoutine)        \
  395.         (FindPanelBusyUPP)(userRoutine)
  396. #endif
  397.  
  398. typedef FindPanelBusyUPP FindPanelBusyProc;
  399.  
  400. /* Prompt For Identity Routines */
  401.  
  402. #ifdef __cplusplus
  403. extern "C" {
  404. #endif
  405.  
  406. extern pascal OSErr SDPPromptForID(AuthIdentity *id, ConstStr255Param guestPrompt, ConstStr255Param specificIDPrompt, ConstStr255Param localIDPrompt, const RString *recordType, SDPIdentityKind permittedKinds, SDPIdentityKind *selectedKind, const RecordID *loginFilter, SDPLoginFilterKind filterKind)
  407.  FOURWORDINLINE(0x203C, 16, 904, 0xAA5D);
  408.  
  409. /*
  410. SDPNewPanel creates a new panel. You supply the window in which the panel
  411. is to live, the bounds for the panel (which includes both the menu and the list),
  412. whether or not the panel is to be initially visible, the initial RLI (nil for
  413. catalogs and volumes), the types of records that will be shown (only a single
  414. (non-nil) type which may contain wildcards), the identity by which to browse
  415. (for access control reasons), and a refCon which is  available to the caller.
  416. */
  417. extern pascal OSErr SDPNewPanel(SDPPanelHandle *newPanel, WindowPtr window, const Rect *bounds, Boolean visible, Boolean enabled, const PackedRLI *initialRLI, const RStringPtr *typesList, unsigned long typeCount, AuthIdentity identity, DirEnumChoices enumFlags, DirMatchWith matchTypeHow, long refCon)
  418.  FOURWORDINLINE(0x203C, 21, 100, 0xAA5D);
  419.  
  420. /*
  421. SDPSetIdentity Sets the identity used for browsing.  NOTE: This call is likely to go
  422. away if the new authentication scheme works.
  423. */
  424. extern pascal OSErr SDPSetIdentity(SDPPanelHandle panel, AuthIdentity identity)
  425.  FOURWORDINLINE(0x203C, 4, 115, 0xAA5D);
  426.  
  427. /*
  428. SDPGetNewPanel is similar to SDPNewPanel above, except it takes a resource id of a
  429. 'panl' resource.
  430. */
  431. extern pascal OSErr SDPGetNewPanel(SDPPanelHandle *newPanel, short resourceID, WindowPtr window, const PackedRLI *initialRLI, AuthIdentity identity)
  432.  FOURWORDINLINE(0x203C, 9, 101, 0xAA5D);
  433.  
  434. /*
  435. Call this when you're completely done with a panel. It deallocates all of the
  436. associated data structures.
  437. */
  438. extern pascal OSErr SDPDisposePanel(SDPPanelHandle panel)
  439.  FOURWORDINLINE(0x203C, 2, 102, 0xAA5D);
  440.  
  441. /*
  442. If the panel is visible, it makes it invisible by hiding the menu, turning off
  443. drawing of the list, and erasing and  invaling the list's rectangle.
  444. */
  445. extern pascal OSErr SDPHidePanel(SDPPanelHandle panel)
  446.  FOURWORDINLINE(0x203C, 2, 103, 0xAA5D);
  447.  
  448. /* If the panel is invisible, it makes it visible and draws it. */
  449.  
  450. extern pascal OSErr SDPShowPanel(SDPPanelHandle panel)
  451.  FOURWORDINLINE(0x203C, 2, 104, 0xAA5D);
  452.  
  453. /* Disables the list and menu so that it won't accept any commands. */
  454.  
  455. extern pascal OSErr SDPEnablePanel(SDPPanelHandle panel, Boolean enable)
  456.  FOURWORDINLINE(0x203C, 3, 105, 0xAA5D);
  457.  
  458. /*
  459. Move the upper-left-hand corner of the panel to (h,v), given in local coordinates of
  460. the panel's window.
  461. */
  462. extern pascal OSErr SDPMovePanel(SDPPanelHandle panel, short h, short v)
  463.  FOURWORDINLINE(0x203C, 4, 107, 0xAA5D);
  464.  
  465. /*
  466. Resizes the panel to have the given width and height (keeping the upper-left-hand
  467. corner in a fixed position).
  468. */
  469. extern pascal OSErr SDPSizePanel(SDPPanelHandle panel, short width, short height)
  470.  FOURWORDINLINE(0x203C, 4, 108, 0xAA5D);
  471.  
  472. /*
  473. This routine simulates a double-click on the selected item (if there is no selected
  474. item, then it does nothing), and it returns the result of that "double-click" via the
  475. whatHappened parameter. If a container is selected, then that container will be
  476. opened and kMovedDownTheHierarchy is returned. If, however, the user is at the lowest
  477. level in the hierarchy, then kSDPSelectedAnItem is returned.
  478. */
  479. extern pascal OSErr SDPOpenSelectedItem(SDPPanelHandle panel, SDPPanelState *whatHappened)
  480.  FOURWORDINLINE(0x203C, 4, 109, 0xAA5D);
  481.  
  482. /*
  483. Returns whether a record is selected, something else is selected, or nothing is
  484. selected.
  485. */
  486. extern pascal OSErr SDPGetPanelSelectionState(SDPPanelHandle panel, SDPSelectionState *itsState)
  487.  FOURWORDINLINE(0x203C, 4, 110, 0xAA5D);
  488.  
  489. /*
  490. Returns the size of the currently-selected DSSpec, or zero if a record is
  491. not selected.  It is safe to do a NewPtr (SDPGetPanelSelectionSize (...))
  492. */
  493. extern pascal OSErr SDPGetPanelSelectionSize(SDPPanelHandle panel, unsigned short *dsSpecSize)
  494.  FOURWORDINLINE(0x203C, 4, 114, 0xAA5D);
  495.  
  496. /*
  497. Returns the currently-selected DSSpec, or a zero-lengthed
  498. DSSpec if a record is not selected. It is assumed that the selection
  499. buffer allocated is large enough.
  500. */
  501. extern pascal OSErr SDPGetPanelSelection(SDPPanelHandle panel, PackedDSSpec *selection)
  502.  FOURWORDINLINE(0x203C, 4, 111, 0xAA5D);
  503.  
  504. /*
  505. Forces browsing to the specified RLI. If prli is the current RLI, then it does
  506. nothing.
  507. */
  508. extern pascal OSErr SDPSetPath(SDPPanelHandle panel, const PackedRLI *prli)
  509.  FOURWORDINLINE(0x203C, 4, 112, 0xAA5D);
  510.  
  511. /*
  512. This is the main driver for the panel.  You should pass all events to SDPPanelEvent
  513. including NULL events.  If you have more than 1 panel, you will need to
  514. call SDPPanelEvent for each panel.  NOTE:  For Update Events you will also need to call
  515. SDPUpdatePanel as described below.
  516. */
  517. extern pascal OSErr SDPPanelEvent(SDPPanelHandle panel, const EventRecord *theEvent, SDPPanelState *whatHappened)
  518.  FOURWORDINLINE(0x203C, 6, 113, 0xAA5D);
  519.  
  520. /*
  521. SDPUpdatePanel should be called in response to an update event.  Generally you will
  522. have first called BeginUpdate, and pass the windows visRgn as theRgn.  If NULL
  523. is passed for theRgn the entire panel is re-drawn.  NOTE:  Drawing is not cliped to
  524. theRgn, if this is desired, you must first call SetClip.
  525. */
  526. extern pascal OSErr SDPUpdatePanel(SDPPanelHandle panel, RgnHandle theRgn)
  527.  FOURWORDINLINE(0x203C, 4, 106, 0xAA5D);
  528.  
  529. /*
  530. SDPSelectString scrolls and selects the closest matching string at the current
  531. level.  This is the same behavior as if the user typed in the given string.
  532. */
  533. extern pascal OSErr SDPSelectString(SDPPanelHandle panel, const RString *name)
  534.  FOURWORDINLINE(0x203C, 4, 116, 0xAA5D);
  535.  
  536. /*
  537. SDPGetPathLength returns the length in bytes required to hold the current path name
  538. in RLI format.  This corresponds to the path name in the popup menu.
  539. */
  540. extern pascal OSErr SDPGetPathLength(SDPPanelHandle panel, unsigned short *pathNameLength)
  541.  FOURWORDINLINE(0x203C, 4, 117, 0xAA5D);
  542.  
  543. /* SDPGetPath returns the current rli. */
  544. extern pascal OSErr SDPGetPath(SDPPanelHandle panel, PackedRLI *prli, short *dsRefNum)
  545.  FOURWORDINLINE(0x203C, 6, 118, 0xAA5D);
  546.  
  547. /*
  548. SDPSetFocus will draw the focus rectangle or erase the focus rectangle depending upon
  549. the focus boolean.
  550. */
  551. extern pascal OSErr SDPSetFocus(SDPPanelHandle panel, Boolean focus)
  552.  FOURWORDINLINE(0x203C, 3, 119, 0xAA5D);
  553.  
  554. /*
  555. SDPSetPanelBalloonHelp allows clients to specify a STR# resource id to use for 
  556. balloon help.  Balloon help is unavailable until this call is made.
  557. */
  558. extern pascal OSErr SDPSetPanelBalloonHelp(SDPPanelHandle panel, short balloonHelpID)
  559.  FOURWORDINLINE(0x203C, 3, 120, 0xAA5D);
  560.  
  561. /*
  562. SDPInstallPanelBusyProc allows clients to install a CB that will be called while
  563. the panel is aynchronously busy.
  564. */
  565. extern pascal OSErr SDPInstallPanelBusyProc(SDPPanelHandle panel, PanelBusyProc busyProc)
  566.  FOURWORDINLINE(0x203C, 4, 121, 0xAA5D);
  567.  
  568. extern pascal OSErr SDPNewFindPanel(SDPFindPanelHandle *newPanel, WindowPtr window, Point upperLeft, short layoutResourceID, Boolean visible, Boolean enabled, const RStringPtr *typesList, long typeCount, DirMatchWith matchTypeHow, AuthIdentity identity, short simultaneousSearchCount, SDPFindPanelFocus initialFocus, long refCon)
  569.  FOURWORDINLINE(0x203C, 20, 2300, 0xAA5D);
  570. extern pascal OSErr SDPDisposeFindPanel(SDPFindPanelHandle findPanel)
  571.  FOURWORDINLINE(0x203C, 2, 2301, 0xAA5D);
  572. extern pascal OSErr SDPStartFind(SDPFindPanelHandle findPanel)
  573.  FOURWORDINLINE(0x203C, 2, 2302, 0xAA5D);
  574. extern pascal OSErr SDPStopFind(SDPFindPanelHandle findPanel)
  575.  FOURWORDINLINE(0x203C, 2, 2303, 0xAA5D);
  576. extern pascal OSErr SDPFindPanelEvent(SDPFindPanelHandle findPanel, const EventRecord *event, SDPFindPanelResult *whatHappened)
  577.  FOURWORDINLINE(0x203C, 6, 2304, 0xAA5D);
  578. extern pascal OSErr SDPUpdateFindPanel(SDPFindPanelHandle findPanel, RgnHandle theRgn)
  579.  FOURWORDINLINE(0x203C, 4, 2305, 0xAA5D);
  580. extern pascal OSErr SDPShowFindPanel(SDPFindPanelHandle findPanel)
  581.  FOURWORDINLINE(0x203C, 2, 2306, 0xAA5D);
  582. extern pascal OSErr SDPHideFindPanel(SDPFindPanelHandle findPanel)
  583.  FOURWORDINLINE(0x203C, 2, 2307, 0xAA5D);
  584. extern pascal OSErr SDPMoveFindPanel(SDPFindPanelHandle findPanel, short h, short v)
  585.  FOURWORDINLINE(0x203C, 4, 2308, 0xAA5D);
  586. extern pascal OSErr SDPEnableFindPanel(SDPFindPanelHandle findPanel, Boolean enabled)
  587.  FOURWORDINLINE(0x203C, 3, 2309, 0xAA5D);
  588. extern pascal OSErr SDPSetFindPanelFocus(SDPFindPanelHandle findPanel, SDPFindPanelFocus newFocus)
  589.  FOURWORDINLINE(0x203C, 3, 2310, 0xAA5D);
  590. extern pascal OSErr SDPGetFindPanelState(SDPFindPanelHandle findPanel, SDPFindPanelState *itsState)
  591.  FOURWORDINLINE(0x203C, 4, 2311, 0xAA5D);
  592. extern pascal OSErr SDPGetFindPanelSelectionSize(SDPFindPanelHandle findPanel, unsigned short *size)
  593.  FOURWORDINLINE(0x203C, 4, 2312, 0xAA5D);
  594. extern pascal OSErr SDPGetFindPanelSelection(SDPFindPanelHandle findPanel, PackedDSSpec *selection)
  595.  FOURWORDINLINE(0x203C, 4, 2313, 0xAA5D);
  596. extern pascal OSErr SDPSetFindPanelBalloonHelp(SDPFindPanelHandle findPanel, short balloonHelpID)
  597.  FOURWORDINLINE(0x203C, 3, 2314, 0xAA5D);
  598. extern pascal OSErr SDPSetFindIdentity(SDPFindPanelHandle findPanel, AuthIdentity identity)
  599.  FOURWORDINLINE(0x203C, 4, 2315, 0xAA5D);
  600. extern pascal OSErr SDPInstallFindPanelBusyProc(SDPFindPanelHandle findPanel, FindPanelBusyProc busyProc)
  601.  FOURWORDINLINE(0x203C, 4, 2316, 0xAA5D);
  602. extern pascal OSErr SDPGetIconByType(const RString *recordType, IconSelectorValue whichIcons, Handle *iconSuite)
  603.  THREEWORDINLINE(0x303C, 1024, 0xAA5C);
  604. extern pascal OSErr SDPGetDSSpecIcon(const PackedDSSpec *packedDSSpec, IconSelectorValue whichIcons, Handle *iconSuite)
  605.  THREEWORDINLINE(0x303C, 1025, 0xAA5C);
  606. extern pascal OSErr SDPGetCategories(PackedRStringListHandle *categories, PackedRStringListHandle *displayNames)
  607.  THREEWORDINLINE(0x303C, 1026, 0xAA5C);
  608. extern pascal OSErr SDPGetCategoryTypes(const RString *category, PackedRStringListHandle *types)
  609.  THREEWORDINLINE(0x303C, 1027, 0xAA5C);
  610. extern pascal OSErr SDPResolveAliasFile(FSSpecPtr fileSpec, PackedDSSpecHandle resolvedDSSpec, AuthIdentity identity, Boolean mayPromptUser)
  611.  FOURWORDINLINE(0x203C, 7, 3700, 0xAA5D);
  612. extern pascal OSErr SDPResolveAliasDSSpec(PackedDSSpecHandle theAliasDSSpec, AuthIdentity identity, Boolean mayPromptUser)
  613.  FOURWORDINLINE(0x203C, 5, 3701, 0xAA5D);
  614. extern pascal OSErr SDPRepairPersonalDirectory(FSSpec *pd, Boolean showProgress)
  615.  FOURWORDINLINE(0x203c, 3, 6700, 0xAA5D);
  616. #ifdef __cplusplus
  617. }
  618. #endif
  619.  
  620. #endif
  621.  
  622. #endif
  623.  
  624.